package hot.arr;

class A80{

}
class Solution {
    public static void main(String[] args) {
        Solution solution=new Solution();
        int[] nums={0,0,1,1,1,1,2,3,3};
        int i = solution.removeDuplicates(nums);
        for (int t= 0; t < nums.length; t++) {
            System.out.println(nums[t]);
        }

    }
    //用栈来思考，最多两个元素不同，如果当前元素和栈顶下方的第一个元素相同则跳过该元素，j是来枚举插入位置的(同时也描绘了栈顶)，i是来遍历每个元素是否可以进栈，对于不可进栈，直接跳过即可，在数组表现为被覆盖，在栈表现为没入栈，只是枚举过去
    public int removeDuplicates(int[] nums) {
   int len=nums.length;
   int j=2;
   for(int i=2;i<len;i++){
       if(nums[i]!=nums[j-2]){
           nums[j++]=nums[i];
       }
   }
   return j;
    }
}
